Skip to content

Develop#87

Merged
varndellwagglebee merged 16 commits intomainfrom
develop
Aug 5, 2025
Merged

Develop#87
varndellwagglebee merged 16 commits intomainfrom
develop

Conversation

@varndellwagglebee
Copy link
Copy Markdown
Contributor

Description

Changed the versioning strategy to nerdbank.

varndellwagglebee and others added 16 commits April 14, 2025 09:29
* Create draft PR for #75
[skip ci]

* Initial refactor

* Update nugets

* Update documentation

* Remove orphaned usings and adjust default buffer size

---------

Co-authored-by: Brenton Farmer <brent.farmer@wagglebee.net>
* Adds XS expression provider
 - Adds a new expression provider leveraging Hyperbee.XS for template processing.
 - This allows for more complex and flexible template expressions.
 - Also includes tests and benchmarks to validate and measure performance.

* Refactors XS expression compilation for flexibility
  Improves the XS expression compilation process by introducing a TypeResolver and allowing for more flexible expression definitions.
  The changes include:
  - Injecting a TypeResolver into the XsTokenExpressionProvider for better type management.
  - Modifying the MemberDictionaryParseExtension to accept a name, allowing the `vars` keyword to be configurable.
  - Updating the compilation logic to use the TypeResolver and configurable `vars` name when parsing expressions.

Updates the XS token expression compilation process for improved flexibility and extensibility.

- Introduces a `CompileLambda` delegate for customizing lambda compilation.
- Implements a `MemberTypeResolver` to handle member access within expressions, supporting properties, generic methods and indexers on member dictionaries.
- Uses `XsParser` directly for parsing XS expressions.
- Removes dependency on FastExpressionCompiler.
- Updates Hyperbee.XS package version.

This change also adapts a template parser test to use the new 'inject' and 'config' extensions. The test now retrieves a registered service and a configuration value within the template, demonstrating the functionality of these extensions.

Updates the Hyperbee.XS dependency to version 1.3.3 across the templating provider, benchmark project, and tests.

---------

Co-authored-by: Matt Edwards <matthew.edwards@wagglebee.net>
@varndellwagglebee
Copy link
Copy Markdown
Contributor Author

Rerunning the test doesn't use the updated shared-workflows test. So I ran tests manually and all passed.

@varndellwagglebee varndellwagglebee merged commit d5f750b into main Aug 5, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants